home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / other / gui4cli / docs / tutorials / clock.gc < prev    next >
Text File  |  1999-05-14  |  2KB  |  80 lines

  1. G4C
  2.  
  3. ; Clock.gc
  4. ; ============================================================
  5. ; This gui works together with the Clock.rexx Arexx script
  6. ; which is also in this directory - You must also read that
  7. ; to get the full picture.
  8.  
  9. ; Note that if you really want to implement one or more clocks
  10. ; in your guis, you can now use the xTIMER event
  11. ; ============================================================
  12.  
  13.  
  14. WINBIG -1 -1 304 26 'ARexx-Gui4Cli Clock'
  15. BOX 0 0 0 0 out button        ; decorative border
  16.  
  17.  
  18. ; ============================================================
  19. ; Upon loading, we make sure that rexxmast is available, then
  20. ; we launch the rexx program that will set our variables and
  21. ; wake us up every minute, so we can refresh the display.
  22. ; ============================================================
  23.  
  24. xOnLoad
  25.  
  26.     ; look for arexx and if not found, launch it..
  27.     ifexists port AREXX
  28.        ; ok..
  29.     else
  30.        cli 'rexxmast'
  31.        wait port AREXX 30
  32.        if $$retcode > 0
  33.           ezreq 'Could not launch RexxMast!' Quit ''
  34.           guiquit clock.gc
  35.           stop
  36.        endif
  37.     endif
  38.  
  39.     ; Look for the Clock.rexx program, in the same directory
  40.  
  41.     extract clock.gc guipath path
  42.     joinfile $path Clock.rexx rexxprog
  43.  
  44.     ; Open the gui and start up the rexx program
  45.  
  46.     GuiOpen Clock.gc
  47.     sendrexx AREXX '$rexxprog clock.gc update'
  48.  
  49.  
  50. ; ============================================================
  51. ; On closing the gui, quit. The ARexx program we launched will 
  52. ; quit on it's own when it wakes up and doesn't find us..
  53. ; ============================================================
  54.  
  55. xOnClose
  56.     guiquit Clock.gc
  57.  
  58.  
  59. ; ============================================================
  60. ; This is the gadget that shows the time, date etc
  61. ; ============================================================
  62.  
  63. TEXT 7 5 290 16 "" 100 BOX
  64.     gadfont opal.font 12 000    ; change the font here
  65.     gadtxt center
  66.     gadid 1
  67.  
  68.  
  69. ; ============================================================
  70. ; This is the routine that the rexx program we launched will
  71. ; call every minute, after it has set our variables.
  72. ; We use it to update the above text gadget.
  73. ; ============================================================
  74.  
  75. XRoutine update
  76.     update clock.gc 1 "$time - $day\, $date"
  77.  
  78.  
  79.  
  80.